home *** CD-ROM | disk | FTP | other *** search
- %Planguagelevel 2 lt {
- /ShapeBuildChar {
- pop
- begin
- 0 setlinewidth
- Shape begin
- AdvanceVector dup 0 get exch 1 get
- shapeType /i ne {
- x1 y1 Grid x2 y2 Grid setcachedevice
- geomProc
- FillDict fillKey get exec
- } {
- setcharwidth
- geomProc
- } ifelse
- end
- end
- } Bdef
- } {
- /PatternPaintProc {
- begin
- IpatTransform concat
- patShape begin
- CurrColorSet
- colorSet SetColorSet
- ColorSpace null ne {
- ColorSpace setcolorspace
- } if
- shapeType /b eq {
- CurrOrMode 0 eq {
- 0 colorSet SetIndexedColor
- newpath
- x1 y1 moveto x2 y1 lineto
- x2 y2 lineto x1 y2 lineto
- closepath
- fill
- } if
- ImageMaskColor colorSet SetIndexedColor
- } if
- newpath
- geomProc
- FillDict fillKey get exec
- SetColorSet
- end
- end
- } Bdef
- } ifelse
- languagelevel 2 lt {
- /MakeShapeFont {
- 8 dict dup begin
- 4 1 roll
- [3 1 roll]
- /AdvanceVector Xdef
- /Shape Xdef
- /FontType 3 def
- /FontMatrix [1 0 0 1 0 0] def
- /FontBBox [
- Shape ShapeBBox
- ] def
- /Encoding StandardEncoding def
- /BuildChar /ShapeBuildChar load def
- end
- } Bdef
- } if
- /PortMapping matrix def
- /PortPatternMapping matrix def
- /SaveCTMForPattern matrix def
- /GridMatrix {
- dup 0 get
- 1 index 3 get
- 0.0 eq exch 0.0 eq and
- 1 index 1 get
- 2 index 2 get
- 0.0 eq exch 0.0 eq and
- or {
- 0 1 3 {
- dup
- 2 index exch
- get dup abs 1.0 gt {
- round
- } if
- 2 index
- 3 1 roll put
- } for
- pop
- } if
- } bind def
- /SetupPatternCTM {
- SaveCTMForPattern currentmatrix pop
- PortMap {
- PortMapping PortPatternMapping
- copy dup GridMatrix
- setmatrix
- PortAllign not {
- 0 0 SaveCTMForPattern transform itransform
- translate
- } if
- } {
- PortAllign {
- 0 0 PortMapping transform itransform
- translate
- } if
- } ifelse
- } Bdef
- languagelevel 2 lt {
- /MakePatternDict {
- 21 dict dup begin
- 10 1 roll
- /PortAllign Xdef
- /PortMap Xdef
- /py Xdef /px Xdef
- /vy Xdef /vx Xdef
- /uy Xdef /ux Xdef
- /patTransform [
- ux uy
- vx vy
- px py
- ] def
- dup /shapeType get /b eq {
- dup ShapeBBox
- BoxWidths
- vy ne vx 0 ne or
- exch ux ne uy 0 ne or
- or {
- dup /shapeType /i put
- } if
- } if
- ux uy MakeShapeFont
- /patternFont exch definefont
- /patternFontDict Xdef
- /IpatTransform
- patTransform matrix
- invertmatrix
- def
- end
- } Bdef
- } {
- /MakePatternDict {
- 10 dict dup begin
- 10 1 roll
- /PatternType 1 def
- /PortAllign Xdef
- /PortMap Xdef
- [ 7 1 roll ]
- /patTransform Xdef
- /XStep 1 def
- /YStep 1 def
- /TilingType CurrGridFit {2} {1} ifelse def
- /PaintProc /PatternPaintProc load def
- /IpatTransform
- patTransform [0 0 0 0 0 0]
- invertmatrix
- def
- /patShape Xdef
- /BBox [
- gsave
- ScratchMatrix currentmatrix
- IpatTransform concat
- patShape /shapeType get /g eq {
- patShape /geomProc get exec
- setmatrix
- /flattenpath 0 AvoidLimit pathbbox
- } {
- patShape ShapeBBox
- 4 2 roll 4 copy 4 2 roll BoxWidths RP
- pop pop
- setmatrix
- pathbbox
- } ifelse
- grestore
- ] def
- /PaintType
- patShape /shapeType get dup /i eq exch /b eq or {
- 1
- } {
- 2
- }ifelse
- def
- end
- dup /patTransform get
- makepattern
- } Bdef
- } ifelse
- languagelevel 2 lt {
- /patternString 100 string def
- /PatternFill {
- CurrPat begin
- gsave
- SetupPatternCTM
- patternFontDict /Shape get /shapeType get /b eq {
- CurrOrMode 0 eq {
- 0 patternFontDict /Shape get /colorSet get SetIndexedColor
- dup
- gsave {fill} {eofill} ifelse grestore
- } if
- ImageMaskColor patternFontDict /Shape get /colorSet get SetIndexedColor
- } {
- patternFontDict /Shape get /shapeType get /i eq {
- patternFontDict /Shape get dup /colorSet get dup
- null ne {
- SetColorSet
- /BitsPerPixel get 2 exch exp 1 sub /MaxSampleInt exch store
- InstallColorSetTransfers
- } {
- pop
- pop
- } ifelse
- } if
- } ifelse
- {/clip 0 AvoidLimit}
- {/eoclip 0 AvoidLimit}
- ifelse
- /flattenpath 0 AvoidLimit
- /pathbbox load stopped
- {0 0 0 0} if
- newpath
- patternFontDict dup setfont
- /FontBBox get
- {} forall BoxWidths
- 6 2 roll
- 4 index add
- exch
- 5 index add
- 4 2 roll
- 4 index sub
- exch
- 5 index sub
- exch 4 2 roll exch
- /y2 Xdef
- /x2 Xdef
- /y1 Xdef
- /x1 Xdef
- x1 y1 IpatTransform transform pop
- x1 y2 IpatTransform transform pop
- Min
- x2 y1 IpatTransform transform pop
- x2 y2 IpatTransform transform pop
- Min
- Min floor /x1p Xdef
- x1 y1 IpatTransform transform pop
- x1 y2 IpatTransform transform pop
- Max
- x2 y1 IpatTransform transform pop
- x2 y2 IpatTransform transform pop
- Max
- Max ceiling /x2p Xdef
- x1 y1 IpatTransform transform exch pop
- x2 y1 IpatTransform transform exch pop
- Min
- x1 y2 IpatTransform transform exch pop
- x2 y2 IpatTransform transform exch pop
- Min
- Min floor /y1p Xdef
- x1 y1 IpatTransform transform exch pop
- x2 y1 IpatTransform transform exch pop
- Max
- x1 y2 IpatTransform transform exch pop
- x2 y2 IpatTransform transform exch pop
- Max
- Max ceiling /y2p Xdef
- /x1p x1p floor def
- /y1p y1p floor def
- /x2p x2p ceiling def
- /y2p y2p ceiling def
- pop pop
- /lattWidth x2p x1p sub 1 add cvi def
- y1p 1 y2p {
- x1p exch patTransform transform moveto
- 0 100 lattWidth {
- lattWidth exch sub
- dup 100 gt {
- pop 100
- } if
- patternString 0 3 -1 roll getinterval
- show
- } for
- } for
- grestore
- newpath
- end
- } Bdef
- } if
- /PathLength {
- /@1 0 def
- { /@3 Xstore /@2 Xstore }
- { 2 copy
- @3 sub dup mul
- exch @2 sub dup mul
- add sqrt
- @1 add /@1 Xdef
- /@3 Xstore /@2 Xstore
- }
- {}
- {}
- /flattenpath 0 AvoidLimit
- pathforall
- @1
- } Bdef
- /MakeDashDict {
- 14 dict dup begin
- 7 1 roll
- /dashScale Xdef
- /phase Xdef
- /advance Xdef
- /levelDash Xdef
- /autoAdvance Xdef
- /Shape Xdef
- /FirstX null def /FirstY 0 def
- /LastX 0 def /LastY 0 def
- /CurrCTM [0 0 0 0 0 0] def
- /N 0 def
- end
- } Bdef
- /StampDash {
- LastX FirstX NotEqual
- LastY FirstY NotEqual or {
- CurrDash
- currentlinewidth
- null SetDash
- CurrCTM currentmatrix
- FirstX FirstY translate
- levelDash not {
- LastY FirstY sub
- LastX FirstX sub
- ATanRot
- } if
- 1 currentlinewidth scale
- 0 setlinewidth
- 0 frameOffset translate
- 1 1 dashScale div scale
- newpath 0 0 moveto
- Shape begin
- geomProc
- setmatrix
- fillKey QD2Fill
- end
- setlinewidth
- SetDash
- } if
- } Bdef
- /DashLT {/LastY Xdef /LastX Xdef} Bdef
- /DashCT {/LastY Xdef /LastX Xdef 4 {pop} repeat } Bdef
- /DashCP {} Bdef
- /DashMT {
- FirstX null eq {
- /FirstY Xdef
- /FirstX Xdef
- } {
- 2 copy
- LastY ne exch
- LastX ne or {
- StampDash
- /FirstY Xdef
- /FirstX Xdef
- } {
- pop pop
- } ifelse
- } ifelse
- } Bdef
- /DashStroke {
- FullGsave
- begin
- CurrRightIsOut {neg} if
- /frameOffset Xdef
- Shape /colorSet get SetColorSet
- Shape /ColorSpace get dup null ne {
- setcolorspace
- } {
- pop
- } ifelse
- autoAdvance {
- PathLength dup advance div floor /N Xdef
- N div
- } {
- advance
- } ifelse
- /@1 Xdef
- Shape ShapeBBox
- BoxWidths pop
- dup 0 eq {
- pop
- @1 2 div
- } if
- .10 mul
- dup @1 exch sub
- [3 1 roll]
- phase setdash
- currentlinewidth
- 0 setlinewidth
- /strokepath 0 AvoidLimit
- setlinewidth
- [] 0 setdash
- /FirstX null def
- /DashMT load
- /DashLT load
- /DashCT load
- /DashCP load
- pathforall
- FirstX null ne {
- StampDash
- } if
- end
- FullGrestore newpath
- } Bdef
- /FillDict 7 dict dup 3 -1 roll Xdef begin
- /Fr {
- CurrDash null eq {
- CurrFrame dup 0 eq {
- stroke
- pop
- } {
- FillDict exch
- -1 eq {/Of get} {/If get} ifelse
- exec
- } ifelse
- } {
- CurrFrame CurrDash DashStroke
- } ifelse
- } Bdef
- /If
- {gsave clip currentlinewidth 2 mul setlinewidth stroke grestore newpath} Bdef
- /Of
- {gsave FullPath /eoclip 0 AvoidLimit currentlinewidth 2 mul setlinewidth stroke grestore newpath} Bdef
- /Eo /eofill load def
- /In {FullPath eofill} Bdef
- /W /fill load def
- /No {} Bdef
- end
- languagelevel 1 eq {
- /PatternFillDict 6 dict dup 3 -1 roll Xdef begin
- /Fr {
- CurrDash null eq {
- CurrFrame dup 0 eq {
- /strokepath 0 AvoidLimit true PatternFill
- pop
- } {
- PatternFillDict exch
- -1 eq {/Of get} {/If get} ifelse
- exec
- } ifelse
- } {
- CurrFrame CurrDash DashStroke
- } ifelse
- } Bdef
- /W {true PatternFill} Bdef
- /Eo {false PatternFill} Bdef
- /In {TightFullPath false PatternFill} Bdef
- /If
- {gsave clip currentlinewidth 2 mul setlinewidth strokepath
- true exch PatternFill grestore newpath} Bdef
- /Of
- {gsave TightFullPath eoclip currentlinewidth 2 mul setlinewidth strokepath
- true exch PatternFill grestore newpath} Bdef
- end
- } if
- languagelevel 1 eq {
- /QD2Fill {
- CurrPat null eq {
- FillDict
- } {
- PatternFillDict
- } ifelse
- exch get exec
- } Bdef
- } {
- /OldColorAndSpace [] def
- /OldMatrix matrix def
- /InstallPatternColorSpace {
- CurrPat null ne {
- CurrPat begin
- PortMap PortAllign or {
- OldMatrix currentmatrix pop
- SetupPatternCTM
- SynchPatMatrix
- } if
- /OldColorAndSpace [
- currentcolor currentcolorspace
- ] store
- PaintType 2 eq {
- currentcolor
- dup type /dicttype eq {pop} if
- } if
- end
- CurrPat setpattern
- } if
- } Bdef
- /RestoreOldColorAndSpace {
- CurrPat null ne {
- CurrPat /PortAllign get CurrPat /PortMap get or {
- OldMatrix setmatrix
- } if
- OldColorAndSpace aload pop
- setcolorspace setcolor
- } if
- } Bdef
- /QD2Fill {
- InstallPatternColorSpace
- FillDict
- exch get exec
- RestoreOldColorAndSpace
- } Bdef
- } ifelse
- /GlyphPaint {
- FullGsave
- exch
- HasBold {
- CurrBold
- AugGstate /FontMapping get
- dtransform
- SetBold
- } if
- {
- aChar 0 3 -1 roll put
- dup
- currentpoint newpath moveto
- HasBold {
- currentpoint 3 -1 roll
- aChar true GXCharPath
- CurrCTM currentmatrix exch
- CurrBold scale
- currentlinewidth
- exch
- 1 setlinewidth
- dup /W eq
- CurrPat null eq and {
- stroke
- 3 -1 roll setmatrix
- } {
- strokepath
- 3 -1 roll setmatrix
- dup QD2Fill
- } ifelse
- exch setlinewidth
- 3 1 roll
- moveto
- } if
- aChar true GXCharPath
- currentpoint
- 3 -1 roll
- QD2Fill
- moveto
- } forall
- pop
- currentpoint
- FullGrestore
- moveto
- } Bdef
- /ShowDict 7 dict dup 3 -1 roll Xdef begin
- languagelevel 1 eq {
- /W {CurrPat null eq HasBold not and {show} {/W GlyphPaint} ifelse} Bdef
- } {
- /W {
- HasBold not {
- InstallPatternColorSpace show RestoreOldColorAndSpace
- } {
- /W GlyphPaint
- } ifelse
- } Bdef
- } ifelse
- /In {true GXCharPath /In QD2Fill} Bdef
- /Fr {/Fr GlyphPaint} Bdef
- /If {/If GlyphPaint} Bdef
- /Of {/Of GlyphPaint} Bdef
- /Eo /W load def
- /No {pop} Bdef
- end
- /QD2Show {
- ShowDict exch get exec
- } Bdef
-